<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>

    <div id="root">
        <h2>{{hello}}</h2><hr>
        <!-- 编写组件标签 -->
        <xuexiao></xuexiao>
        <hr>
        <xuesheng></xuesheng>
        <fuck></fuck>
    </div>

    <div id="root2">
        <hr>
        <fuck></fuck>
    </div>

    <script type="text/javascript">
         Vue.config.productionTip = false;//阻止vue在启动的时候生成生产提示
        
         //组件三步：创建、注册、编写

         //创建school组件
        const school = Vue.extend({
            //组件不要写el配置项，因为所有组件都由vm管理，由vm决定应该服务哪个容器
            template:`
                <div>
                    <h2>学校名称：{{schoolName}}</h2>
                    <h2>学校地址：{{schoolAddress}}</h2>
                </div>
            `,
            data(){
                return{
                    schoolName:'中南民族大学',
                    schoolAddress:'民族大道关山街道'
                }
            }
        })

        //创建student组件
        const student = Vue.extend({
            template:`
            <div>
                <h2>学生姓名：{{name}}</h2>
                <h2>学生年龄：{{age}}</h2>
            </div>
            `,
            data(){
                return{
                    name:'张扬',
                    age:22
                }
            }
        })

        // //创建fuck组件
        const fuck = Vue.extend({
            template:`
            <div>
                <h2>fuck you !!! {{softcraft}}</h2>
            </div>
            `,
            data(){
                return{
                    softcraft:'Boss直聘'
                }
            }
        })

        //全局注册组件
        Vue.component('fuck',fuck)

        const vm = new Vue({
            el:"#root",
            data:{
                hello:"你好啊！"
            },

            //注册组件(局部注册)
            components:{
                xuexiao:school,
                xuesheng:student,
                fuck:fuck
            }
         })

         const vm2 = new Vue({
            el:"#root2",
            data:{
            }
         })

         //为什么组件data不能写成对象的形式，必须写成函数的形式
         //#region
        //  let data = {
        //     a:1,
        //     b:2
        //  }
        //  //修改x,y也会被修改
        //  let x = data
        //  let y = data
         //#endregion
    </script>
</body>
</html>